/*************begin*******************/
/**
 * 组件类型
 *
 * 组件类型名称首字母大写，同时组件名称也要首字母大写，进行动态引入时进行判断
 */
// 组件前缀
const COMPONENT_PREFIX = 'AntForm'
const ERROR = COMPONENT_PREFIX + 'Error'
const INPUT = COMPONENT_PREFIX + 'Input'
const INPUT_NUMBER = COMPONENT_PREFIX + 'InputNumber'
const INPUT_SEARCH = COMPONENT_PREFIX + 'InputSearch'
const TEXTAREA = COMPONENT_PREFIX + 'Textarea'
const SELECT = COMPONENT_PREFIX + 'Select'
const SLIDER = COMPONENT_PREFIX + 'Slider'
const SWITCH = COMPONENT_PREFIX + 'Switch'
const RATE = COMPONENT_PREFIX + 'Rate'
const RADIO = COMPONENT_PREFIX + 'Radio'
const RADIO_BUTTON = COMPONENT_PREFIX + 'RadioButton'
const DATE_PICKER = COMPONENT_PREFIX + 'DatePicker'

/**
 *form类型
 */
const FORM = 'Form'
const MODAL = 'Modal'
/*************end*******************/

/*************begin*******************/
// 自定义的事件类型，采用中划线的方式
// 这些事件都是在$emit中使用的事件
// vue modal事件
const MODAL_CHANGE = 'modal-change'
// 组件change事件
const CHANGE = 'change'
// 自定义事件
const CUSTOM_EVENT = 'custom-event'
// 表单发生变化事件
const FORM_CHANGE = 'form-change'
// 表单提交事件
const FORM_SUBMIT = 'form-submit'
/*************end*******************/

/*************begin*******************/
// 自定义的事件类型 采用驼峰的方式
// 这些是事件的类型type 都在  custom-event 事件中进行标识事件类型
// input 搜索事件
const INPUT_SEARCH_EVENT = 'InputSearchEvent'
// 关联字段更新事件
const ASSOCIATION_CHANGE_EVENT = 'AssociationChangeEvent'
/*************end*******************/

/**
 * 组件类型
 */
export const COMPONENT_TYPE = {
    ERROR,
    INPUT,
    INPUT_NUMBER,
    INPUT_SEARCH,
    TEXTAREA,
    SELECT,
    SLIDER,
    SWITCH,
    RADIO,
    RADIO_BUTTON,
    DATE_PICKER,
    RATE,
    FORM,
    MODAL
}

/**
 *自定义的事件类型
 */
export const CUSTOM_EVENT_TYPE = {
    FORM_CHANGE,
    FORM_SUBMIT,
    CUSTOM_EVENT,
    MODAL_CHANGE,
    CHANGE,
    INPUT_SEARCH_EVENT,
    ASSOCIATION_CHANGE_EVENT
}

/**
 * 表单slot包装后缀名称
 */
export const FORM_SLOT_WRAPPER_SUFFIX = '-wrapper'
